Web Share Target APIを少しやってみてハマったこと
少し触ってハマったことをまとめた。まだ標準化してされている機能ではないので実装と仕様が違うなどの可能性もあることに注意。
環境
https://gyazo.com/3286f95b6e55baafd33250864cb9382d
"params"を使ってもクエリパラメタが写像されない
以下のようなmanifestを作るとあたかも?name=...&description=...&link=...のようにクエリパラメタが設定されるように思われる。
https://gyazo.com/8e7adf40532c94b134ab65b8531071d9
取り出すときもそのようになってそうに思える。
https://gyazo.com/d4b7553f4a8e6703acda98875b0e10a1
だが、実際は?title=...&text=...&url=...のクエリパラメタになる。alert(window.location.toString())で確認した。
share_target.url_templateは使えない
サンプルにある をみると"url_template": "sharetarget.html?oldapi=true&title={title}&text={text}&url={url}",というものがある。 これのクエリパラメタ名を変えたりしたがalert(window.location.toString())した時に変化はなかった。
本当はクエリパラメタではなくてURLのフラグメントに情報を埋め込みたかった。理由はURLフラグメントならWebサーバーにその情報が漏れないから。